;:sys36864 ;.opt oo *= 51200 vicinit =65409 strout =$ab1e bsin =$ffcf chrptr =122 chrgot =121 integer =$b7f7 round =$bc1b latch =820 cr =13 ascflt =$bcf3 byte =$14 tmp =2 ;schreiben in tmp2 =4 ;lesen aus tmp3 =251 ;anfang alt tmp4 =253 ;ende alt +1 key =198 exp =$61 vorz =$66 zeile =214 setcr =58732 return =$aad7 bsout =$ffd2 axout =$bdcd keybuf =631 hey =$a47b konf =1 repeat =650 quote =212 st jmp mainstart stadr .word 0 zei .byt 0 adr .word 0 summe .word 0 flag .byt 0 old .byt 0 new .byt 0 text .byt cr,cr,cr,"5","5",cr,"j",cr,"n",cr adart .byt 1,11,1,10,3,3,3,3,1,2,4,1,5,5,5,5,12,10,1,11 .byt 3,6,6,6,1,9,1,9,5,8,8,8,5,11,1,11,3,3,3,3,1,2,4 .byt 1,5,5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8,1 .byt 11,1,11,3,3,3,3,1,2,4,1,5,5,5,5,12,10,1,10,3,6 .byt 6,6,1,9,1,9,5,8,8,8,1,11,1,11,3,3,3,3,1,2,4,1 .byt 13,5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8,1 .byt 11,3,11,3,3,3,3,1,1,1,1,5,5,5,5,12,10,1,1,6,6,7 .byt 7,1,9,1,1,1,8,1,1,2,11,2,11,3,3,3,3,1,2,1,1,5 .byt 5,5,5,12,10,1,10,6,6,7,7,1,9,1,1,8,8,9,9,2,11 .byt 3,11,3,3,3,3,1,2,1,1,5,5,5,5,12,10,1,10,3,6,6 .byt 6,1,9,1,9,5,8,8,8,2,11,3,11,3,3,3,3,1,2,1,1,5 .byt 5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8 ; typ .byt 1,2,2,1,3,2,2,3,3,2,2,2,3 hello .byte "\x13\x9a\x12transfer 6510 vers. 2.1 maschinensprache" .byte "(c) nh-020886-arr ein nss programm '89\x05" .byte "\x92\x11zahleneingaben bitte dezimal..." .byt 13 .byte "eingabe von 'x': ende" .byt 0 von .byt cr .byte "\x9a\x11 von ? \x05" .byt 0 bis .byt cr .byte "\x9a\x11 bis einschl. ? \x05" .byt 0 ab .byt cr .byte "\x9a\x11 nach ? \x05" .byt 0 ok .byt cr .byte "\x9a\x11 eingaben ok ? \x05" .byt 0 ur .byt cr .byte "\x9a\x11 umrechnen ? \x05" .byt 0 radio .byt cr .byte "\x91\x9a schreibe nach \x05" .byt 0 kon .byt cr .byte "\x9a\x11 lesekonfiguration ? \x05" .byt 0 ftxt .byt cr .byte "\x11\x9aendadresse enthaelt nicht letztes byte" .byt cr .byte "des letzten befehles ! \x05\x12fehler..." .byt cr,0 end .byt cr .byte "\x91 \x9akeine fehler. letztes byte bei \x05" .byt 0 abtxt .byt cr .byte "\x05\x12abbruch." .byt cr,0 mainstart pla pla lda #>back-1 pha lda #hello jsr strout lda #von jsr getadr bcs abb sta tmp2 sty tmp2+1 sta tmp3 sty tmp3+1 lda #bis jsr getadr bcc noabb abb lda #17 sta zeile jsr setcr lda #abtxt jmp strout noabb adc #1 bne noi iny noi sta tmp4 sty tmp4+1 lda #ab jsr getadr bcs abb sta tmp sty tmp+1 ggggg lda #kon jsr getadr bcs abb tya beq nully lda #"\x91" jsr bsout jsr bsout bcc ggggg nully sta new wec lda #ur jsr strout lda #1 sta quote jsr bsin cmp #"n" beq jn cmp #"x" beq abb cmp #"j" beq jn lda #"\x91" jsr bsout jsr bsout bcc wec jn sec sbc #"j" sta flag ggg lda #ok jsr strout lda #1 sta quote jsr bsin cmp #"n" beq runny cmp #"j" beq anfang cmp #"x" bne fabb jmp abb fabb lda #"\x91" jsr bsout jsr bsout bcc ggg runny jmp run anfang jsr return jsr return jsr return lda #0 sta summe sta summe+1 cmp flag bne weiter lda tmp sec sbc tmp2 sta summe lda tmp+1 sbc tmp2+1 sta summe+1 weiter jsr rom lda #radio jsr strout ldx tmp lda tmp+1 jsr axout jsr copy tax lda adart,x tax dex lda typ,x tax dex beq befende dex bne drei jsr count jsr testend bcc goon jmp falsch goon jsr copy jmp befende drei jsr getnext sta adr jsr testend bcs falsch jsr getnext sta adr+1 jsr testend bcs falsch lda adr+1 cmp tmp3+1 bcc uebernehm bne goont lda adr cmp tmp3 bcc uebernehm goont lda adr+1 cmp tmp4+1 bcc calc bne uebernehm lda adr cmp tmp4 bcs uebernehm calc lda adr clc adc summe pha lda adr+1 adc summe+1 tax pla jmp setzein uebernehm lda adr ldx adr+1 setzein jsr putnext txa jsr putnext befende jsr count jsr testend bcs ende jmp weiter ende jsr rom lda #end jsr strout lda tmp sec sbc #1 tax lda tmp+1 sbc #0 jsr axout jmp return falsch jsr rom lda #ftxt jmp strout count inc tmp bne rt inc tmp+1 rt inc tmp2 bne rtt inc tmp2+1 rtt rts testend lda tmp2 cmp tmp4 bne rt0 lda tmp2+1 cmp tmp4+1 bne rt0 sec rts rt0 clc rts copy pha jsr ram pla ldy #0 lda (tmp2),y sta (tmp),y rts getnext inc tmp2 bne gn inc tmp2+1 gn ldy #0 jsr ram lda (tmp2),y rts putnext inc tmp bne pn inc tmp+1 pn ldy #0 sta (tmp),y rts vorbereit ldx konf stx old ldx #10 stx key lda #128 sta repeat filk dex php lda text,x sta keybuf,x plp bpl filk jmp vicinit rom lda old sta konf cli rts ram sei lda new sta konf rts getadr ldx zeile stx zei sta stadr sty stadr+1 jsr strout ldx #1 stx quote dex i1 jsr bsin cmp #cr beq i2 sta latch,x inx bne i1 i2 lda #0 sta latch,x lda latch cmp #"x" beq iks lda chrptr pha lda chrptr+1 pha lda #latch sta chrptr sty chrptr+1 jsr chrgot jsr ascflt jsr round pla sta chrptr+1 pla sta chrptr lda vorz bmi i3 lda exp cmp #$91 bcs i3 jsr integer lda byte ldy byte+1 clc rts i3 jsr return lda zei sta zeile jsr setcr lda stadr ldy stadr+1 bne getadr iks sec rts back jsr rom jmp hey